// 给你一个长度为 n 下标从 0 开始的字符串 blocks ，blocks[i] 要么是 'W' 要么是 'B' ，表示第 i 块的颜色。字符 'W' 和 'B' 分别表示白色和黑色。

// 给你一个整数 k ，表示想要 连续 黑色块的数目。

// 每一次操作中，你可以选择一个白色块将它 涂成 黑色块。

// 请你返回至少出现 一次 连续 k 个黑色块的 最少 操作次数。
/**
 * 
 * @param {string} blocks 
 * @param {number} k 
 */
var minimumRecolors = function(blocks, k) {
    let head = 0, tail = 0, maxNums = 0, nums = 0;
    while(tail < blocks.length) {
        if(tail - head < k) {
            if(blocks.charAt(tail++) === 'B') {
            nums++
            }
        } else {
            if(nums > maxNums) maxNums = nums
            if(blocks.charAt(head++) === 'B') nums--
            if(blocks.charAt(tail++) === 'B') nums++
        }
    }
    return maxNums < nums ? k - nums : k - maxNums
};
console.log(minimumRecolors("WBBWWBBWBW", 7));
console.log(minimumRecolors("BWWWBB", 6));